package com.tfjybj.itoo.exam.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * TemplateModel
 * 模板表
 *
 * @author 任晓帅 
 * @version 2.0.0
 * @since 2.0.0 2018-11-15 19:40:28
 */
@ApiModel(value = "TemplateModel:模板表")
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
public class TemplateModel implements Serializable {

    //region 模板逆向生产来自TemplateEntity的属性
	/**
	 * id
	 */
	@ApiModelProperty(value = "template主键")
	@Column(name = "id")
	private String id;
   	/**
	 * 模板名称
	 */
	@ApiModelProperty(value = "模板名称",required = true)
	private String name;

	/**
	 * 课程id
	 */
	@ApiModelProperty(value = "课程id",required = true)
	private String courseId;
	/**
	 * 课程name
	 */
	@ApiModelProperty(value = "课程name",required = true)
	private String courseName;

	/**
	 * 状态（12考试已使用、11考试使用中、10考试未使用20 固定未使用 21 固定使用中 22 随机未使用 23 随机使用中）
	 */
	@ApiModelProperty(value = "状态（12考试已使用、11考试使用中、10考试未使用20 固定未使用 21 固定使用中 22 随机未使用 23 随机使用中）",required = true, example = "0")
	private Integer status;

	/**
	 * 总分值
	 */
	@ApiModelProperty(value = "总分值",required = true)
	private Double score;

	/**
	 * 总个数
	 */
	@ApiModelProperty(value = "总个数",required = true, example = "0")
	private Integer totalNumber;

	/**
	 * 组卷方式(选题,抽题,随机)
	 */
	@ApiModelProperty(value = "组卷方式(选题,抽题,随机)",required = true)
	private String organizingType;

	/**
	 * 组卷方式名称
	 */
	@ApiModelProperty(value = "组卷方式(选题,抽题,随机)",required = true)
	private String organizingName;

	/**
	 * 课程描述
	 */
    @ApiModelProperty(value = "课程描述")
	private String description;

    //endregion

     /* *****************************以下是非模板生成的内容************************************ */
	/**
	 * 题型实体
	 */
	@ApiModelProperty(value = "题型实体")
	private List<TemplateDetailsModel> templateDetailsModel = new ArrayList<>();

	/**
	 * 创建时间
	 */
//	@JsonFormat(
//			pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
//	)
//	@ApiModelProperty(value = "创建时间")
//	private Date createTime;
	/**
	 * 创建时间
	 */
	@JsonFormat(
			pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
	)
	@ApiModelProperty(value = "创建时间")
	private Date createTime;

	/**
	 * 操作人-教师code
	 */
	@ApiModelProperty(value = "操作人")
	private String operator;

//	/**
//	 * startTime 开始时间
//	 */
//	@JsonFormat(
//			pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8"
//	)
//	@ApiModelProperty(value="开始时间")
//	private Date startTime;
//
//	/**
//	 * endTime 结束时间
//	 */
//	@JsonFormat(
//			pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8"
//	)
//	@ApiModelProperty(value = "结束时间")
//	private Date endTime;
}
